什么是動(dòng)態(tài)源碼
在服務(wù)器端運(yùn)行的程序、網(wǎng)頁(yè)、組件,屬于動(dòng)態(tài)網(wǎng)頁(yè),它們會(huì)隨不同客戶、不同時(shí)間,返回不同的網(wǎng)頁(yè),例如ASP、PHP、JSP、NET、CGI等。
較大的特點(diǎn)就是能夠和用戶之間互動(dòng)。比如說(shuō)網(wǎng)易的信箱,張三登陸的時(shí)候,會(huì)看到歡迎光臨張三,李四又登陸了,李四又看到歡迎光臨李四,其實(shí)他們兩個(gè)人登陸的是一個(gè)頁(yè)面,這個(gè)就是動(dòng)態(tài)源碼的好處,如果要是用靜態(tài)源碼,好像網(wǎng)易有幾百萬(wàn)的郵箱用戶,每個(gè)人做一個(gè)頁(yè)面那要多少頁(yè)啊? 動(dòng)態(tài)源碼不單單只有這么一點(diǎn)用處,比如說(shuō)我們常見(jiàn)的一些論壇、留言本、計(jì)數(shù)器、聊天室等,都是由動(dòng)態(tài)源碼開(kāi)發(fā)的。動(dòng)態(tài)源碼較大的特點(diǎn)就是有數(shù)據(jù)庫(kù),比如ACCESS,SQL,MYSQL,等!此類網(wǎng)站源碼的特點(diǎn)就是擁有后臺(tái)管理,此類網(wǎng)站源碼相對(duì)靜態(tài)源碼來(lái)說(shuō)不容易被搜索引擎收錄!
什么是靜態(tài)源碼
運(yùn)行于客戶端的程序、網(wǎng)頁(yè)、插件、組件,屬于靜態(tài)網(wǎng)頁(yè),例如html頁(yè)、Flash、JavaScript、VBScript等等,它們是永遠(yuǎn)不變的。
比如說(shuō)我們當(dāng)前看到的這個(gè)網(wǎng)頁(yè)他就是靜態(tài)的源碼,靜態(tài)源碼無(wú)法實(shí)現(xiàn)以上的那些功能。沒(méi)有后臺(tái),但容易被搜索引擎收錄。
現(xiàn)在有不少源碼下載站,下載的源碼基本上文件都不齊全,只能做為參考學(xué)習(xí)使用,如果想使用此類源碼,必須要專業(yè)的編程人員加以修改才能使用,如果您是一位網(wǎng)站開(kāi)發(fā)者可以到淘寶上購(gòu)買源碼,這種源碼一般情況都是比較齊全的,當(dāng)然也有不齊全的,但只需稍加修改就可以建立自己的網(wǎng)站。
靜態(tài)網(wǎng)頁(yè)與動(dòng)態(tài)的區(qū)別
靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)各有特點(diǎn),網(wǎng)站采用動(dòng)態(tài)網(wǎng)頁(yè)還是靜態(tài)網(wǎng)頁(yè)主要取決于網(wǎng)站的功能需求和網(wǎng)站內(nèi)容的多少,如果網(wǎng)站功能比較簡(jiǎn)單,內(nèi)容更新量不是很大,采用純靜態(tài)網(wǎng)頁(yè)的方式會(huì)更簡(jiǎn)單,反之一般要采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)來(lái)實(shí)現(xiàn)。
靜態(tài)網(wǎng)頁(yè)是網(wǎng)站建設(shè)的基礎(chǔ),靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)之間也并不矛盾,為了網(wǎng)站適應(yīng)搜索引擎檢索的需要,即使采用動(dòng)態(tài)網(wǎng)站技術(shù),也可以將網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)化為靜態(tài)網(wǎng)頁(yè)發(fā)布。
動(dòng)態(tài)網(wǎng)站也可以采用靜動(dòng)結(jié)合的原則,適合采用動(dòng)態(tài)網(wǎng)頁(yè)的地方用動(dòng)態(tài)網(wǎng)頁(yè),如果必要使用靜態(tài)網(wǎng)頁(yè),則可以考慮用靜態(tài)網(wǎng)頁(yè)的方法來(lái)實(shí)現(xiàn),在同一個(gè)網(wǎng)站上,動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容和靜態(tài)網(wǎng)頁(yè)內(nèi)容同時(shí)存在也是很常見(jiàn)的事情。
網(wǎng)站源碼主要作用
生成目標(biāo)代碼,即計(jì)算機(jī)可以識(shí)別的代碼。
對(duì)軟件進(jìn)行說(shuō)明,即對(duì)軟件的編寫進(jìn)行說(shuō)明。為數(shù)不少的初學(xué)者,甚至少數(shù)有經(jīng)驗(yàn)的程序員都忽視軟件說(shuō)明的編寫,因?yàn)檫@部分雖然不會(huì)在生成的程序中直接顯示,也不參與編譯。但是說(shuō)明對(duì)軟件的學(xué)習(xí)、分享、維護(hù)和軟件復(fù)用都有巨大的好處。因此,書寫軟件說(shuō)明在業(yè)界被認(rèn)為是能創(chuàng)造優(yōu)秀程序的良好習(xí)慣,一些公司也硬性規(guī)定必須書寫。
需要指出的是,源代碼的修改不能改變已經(jīng)生成的目標(biāo)代碼。如果需要目標(biāo)代碼做出相應(yīng)的修改,必須重新編譯。
程序使用
網(wǎng)站程序一般就是可以用記事本打開(kāi)的好多行英文的,用編程語(yǔ)言寫好的軟件
源程序經(jīng)過(guò)編譯成目標(biāo)程序,才能運(yùn)行。一般目標(biāo)程序不能再修改了。
我們電腦上安裝的軟件都是目標(biāo)程序。源程序不可能直接運(yùn)行的。
源碼組合
網(wǎng)站源碼作為軟件的特殊部分,可能被包含在一個(gè)或多個(gè)文件中。一個(gè)程序不必用同一種格式的源代碼書寫。例如,一個(gè)程序如果有C語(yǔ)言庫(kù)的支持,那么就可以用C語(yǔ)言;而另一部分為了達(dá)到比較高的運(yùn)行效率,則可以用匯編語(yǔ)言編寫。
較為復(fù)雜的軟件,一般需要數(shù)十種甚至上百種的源代碼的參與。為了降低種復(fù)雜度,必須引入一種可以描述各個(gè)源代碼之間聯(lián)系,并且如何正確編譯的系統(tǒng)。在這樣的背景下,修訂控制系統(tǒng)(RCS)誕生了,并成為研發(fā)者對(duì)代碼修訂的必備工具之一。
還有另外一種組合:源代碼的編寫和編譯分別在不同的平臺(tái)上實(shí)現(xiàn),專業(yè)術(shù)語(yǔ)叫做軟件移植。